A very interesting and thoughtful look at Max, its history, capabilities and limitations.  Miller makes several points, some of which could be considered controversial. 

 

1.  Software design needs to be informed by style and aesthetics choices.

 

2.  Audio DSP and message passing cohabitate awkwardly in Max.  This is equivalent to saying that issues arise from the separation of audio and control computation in Max.  Because audio is processed in blocks of samples, the grain at which they operate is different than the grain of control which occurs at audio processing boundaries.  Control signals aren't able to manipulate audio within blocks of audio being processed.

 

3. Emphasis on text based boxes provides economy of screen space and expressive power.  I disagree with him here in that the text paradigm creates a problem managing tweaking environments.  Tweaking and hardware based control has to be manually hooked up rather than being available by default.  Another problems is the lack of persistence makes management of saving state difficult to manage.  His argument against persistence can be solved simply through implementation of default values within object box representations of tweakable parameters.

 

4.  Miller also makes reference to distinctions in the way control, data, and rendering are handled.  Tasks involved with control and data are editing and organizing.  Control involves tweaking and sequencing.  Rendering is a hard real-time process.

 

(As a result of reading this article, I took a look at Jmax and Pd.  I was more impressed with Jmax as an implementation for functionality and its implementation of data access.   Jmax seemed to have a problem with rendering images on my machine. 

 

Both are open source making it possible to create new versions according to my own theories.)